<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

    <script>
    
    // 闭包的简单沙箱模式
    var fn = (function  fum() {
        var num = 20;
        num++;
        function foo() {
            return num;
        }
        return foo;
    })()
   console.log( fn());
   

    // 通过 沙箱模式 操作函数 内部的私有数据
    var obj = (function createPerson() {
        var name = '姓名', age = 10;
        // 提供外界访问的入口
        return {
            setName: function (newName) {
                name = newName;
            },
            getName: function () {
                return name;
            }
        }
    })();
    // 数据 私有化， 只能通过 提供的接口去访问 私有化数据
    obj.setName('刘德华');
    console.log(obj.getName());
    



    
    
    </script>
    
</body>
</html>